package GameStates;


import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.util.List;

import Schiffe.Schiff;
import Spielfeld.Spielfeld;
import Spielfeld.SpielfeldGui;

public class EigenerSpielzug implements MouseMotionListener,
										MouseListener
{
	private boolean fertig;
	private Spielfeld gegnerFeld;
	private SpielfeldGui gui;
	
	public EigenerSpielzug (Spielfeld gegnerFeld, SpielfeldGui gui)
	{
		this.gegnerFeld = gegnerFeld;
		this.gui = gui;
		
		gui.addMouseMotionListener(this);
		gui.addMouseListener(this);
		
		fertig = false;
	}
	
	public boolean istFertig()
	{
		return fertig;
	}
	
	public void mouseClicked (MouseEvent e)
	{
		if (gegnerFeld.mausImFeld(e.getX(), e.getY()))
		{
			int x = gegnerFeld.getXKoordinateAnPosition(e.getX());
			int y = gegnerFeld.getYKoordinateAnPosition(e.getY());
			
			int status = gegnerFeld.getFeldStatus(x, y);
			
			if (status == Spielfeld.STATUS_LEER)
			{
				gegnerFeld.setzeFeldStatus(x, y, Spielfeld.STATUS_LEER_GETROFFEN);
				gui.removeMouseListener(this);
				gui.removeMouseMotionListener(this);
				fertig = true;
			}
			
			if (status == Spielfeld.STATUS_SCHIFF)
			{
				gegnerFeld.setzeFeldStatus(x, y, Spielfeld.STATUS_SCHIFF_GETROFFEN);
			}
		}
	}
	
	public void mouseMoved (MouseEvent e) {}
	public void mouseDragged (MouseEvent e) {}
	public void mouseEntered (MouseEvent e) {}
	public void mouseExited (MouseEvent e) {}
	public void mousePressed (MouseEvent e) {}
	public void mouseReleased (MouseEvent e) {}
}
